TreeGridLoaded ({ /* JSONP header, to be possible to load from xxx_Jsonp data source */ 
   "Cfg" : { "id": "ResourcesGrid", "NoVScroll": "1", "Undo": "1", "IdNames": "NAME", "AppendId": "1", "IdChars": "0123456789", "NumberId": "1", "Size": "Low", "Pasting": "0"   }, 
   "LeftCols" : [ 
      { "Name": "id", "CanEdit": "0", "Width": "45"   }, 
      { "Name": "NAME", "Type": "Text", "Width": "76", "ResultMask": "[a-zA-z_]", "ResultText": "Resource name cannot be number, because of GanttResourcesExtra value in main grid"   }, 
      { "Name": "TYPE", "Type": "Enum", "Enum": "|wrk|mat", "EnumKeys": "|1|2"   }, 
      { "Name": "MAX", "Type": "Text", "Width": "75", "Button": "Dates", 
         "DatesRepeatType": "Enum", "DatesRepeatEnum": "||Weekly|Daily", "DatesRepeatEnumKeys": "||w|d", 
         "DatesValueType": "Enum", "DatesValueEnum": "|-5|-4|-3|-2|-1|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15", "DatesValueCaption": "Count"  
          }, 
      { "Name": "UNIT", "Type": "Float", "Format": "0.00", "EditMask": "^\\d*[\\d\\.\\,]?\\d*$"   }, 
      { "Name": "PEAK", "Type": "Float", "Format": "0.00", "Formula": "Grids.Resources.Resources[NAME]?ganttresourcepeak(NAME):0"   }, 
      { "Name": "TOTAL", "Type": "Float", "Format": "0.00", "Formula": "Grids.Resources.Resources[NAME]?ganttresourceunits(NAME):0"   }, 
      { "Name": "PRICE", "Type": "Float", "Format": "0.00", "Formula": "TOTAL*UNIT", "Width": "62"   }  
   ], 
   "Cols" : [ 
      { "Name": "GANTTRES", "Type": "Gantt", 
         "GanttLeft": "0", "GanttRight": "0", 
         "GanttHeader6": "d#%d", 
         "GanttAvailability": "NAME#3,NAME#1,NAME#8", "GanttAvailabilityFormat": "0.#"  
          }  
   ], 
   "Cfg_2" : { 
      "GanttResourcesMaster": "Resources", 
      "GanttResourcesName": "NAME", "GanttResourcesType": "TYPE", "GanttResourcesPrice": "UNIT", "GanttResourcesAvailability": "MAX", 
      "GanttResourcesGantt": "GANTT", "GanttResourcesChart": "GANTTRES"  
       }, 
   "Def" : [ 
      { "Name": "R", "CalcOrder": "TOTAL,UNIT,PRICE,PEAK", "NAME": "New", "Height": "25"   }  
   ], 
   "Header" : { "id": "id", "SortIcons": "0", "CanPrint": "1", 
      "NAME": "Resource", "TYPE": "Type", "PRICE": "Total\u000Aprice", "TOTAL": "Total\u000Acount", "UNIT": "Unit\u000Aprice", 
      "MAX": "Availability", "PEAK": "Peak"  
       }, 
   "Toolbar" : { "Cells05": "USE,AVAIL,FREE,ERR", "CanFocus": "0", 
      "USEType": "Bool", "USENoColor": "1", "USECanEdit": "1", "USELeft": "5", "USECanFocus": "0", 
      "USELabelRight": "Used res.", "USE": "1", 
      "USEOnChange": ["",
         "Grid.Cols.GANTTRES.GanttAvailability = (Row.AVAIL?\",NAME#3\":\"\") + (Row.USE?\",NAME#1\":\"\") + (Row.USE&&Row.AVAIL?\",NAME#8\":\"\") + (Row.FREE?\",NAME#5\":\"\") + (Row.ERR?\",NAME#6\":\"\");",
         "if(!Row.AVAIL&&!Row.FREE&&!Row.ERR) { ",
            "var F = Grid.GetRows(Grid.Foot); Grid.StartUpdate();",
            "for(var i=0;i<F.length;i++) if(Value) Grid.ShowRow(F[i]); else Grid.HideRow(F[i]); ",
            "Grid.EndUpdate();",
            "}",
         "else Grid.RefreshGantt();",
         ""], 
      "AVAILType": "Bool", "AVAILNoColor": "1", "AVAILCanEdit": "1", "AVAILLeft": "5", "AVAILCanFocus": "0", 
      "AVAILLabelRight": "Available res.", "AVAIL": "1", 
      "AVAILOnChange": ["",
         "Grid.Cols.GANTTRES.GanttAvailability = (Row.AVAIL?\",NAME#3\":\"\") + (Row.USE?\",NAME#1\":\"\") + (Row.USE&&Row.AVAIL?\",NAME#8\":\"\") + (Row.FREE?\",NAME#5\":\"\") + (Row.ERR?\",NAME#6\":\"\");",
         "if(!Row.USE&&!Row.FREE&&!Row.ERR) { ",
            "var F = Grid.GetRows(Grid.Foot); Grid.StartUpdate();",
            "for(var i=0;i<F.length;i++) if(Value) Grid.ShowRow(F[i]); else Grid.HideRow(F[i]); ",
            "Grid.EndUpdate();",
            "}",
         "else Grid.RefreshGantt();",
         ""], 
      "FREEType": "Bool", "FREENoColor": "1", "FREECanEdit": "1", "FREELeft": "5", "FREECanFocus": "0", 
      "FREELabelRight": "Free res.", "FREE": "0", 
      "FREEOnChange": ["",
         "Grid.Cols.GANTTRES.GanttAvailability = (Row.AVAIL?\",NAME#3\":\"\") + (Row.USE?\",NAME#1\":\"\") + (Row.USE&&Row.AVAIL?\",NAME#8\":\"\") + (Row.FREE?\",NAME#5\":\"\") + (Row.ERR?\",NAME#6\":\"\");",
         "if(!Row.USE&&!Row.AVAIL&&!Row.ERR) { ",
            "var F = Grid.GetRows(Grid.Foot); Grid.StartUpdate();",
            "for(var i=0;i<F.length;i++) if(Value) Grid.ShowRow(F[i]); else Grid.HideRow(F[i]); ",
            "Grid.EndUpdate();",
            "}",
         "else Grid.RefreshGantt();",
         ""], 
      "ERRType": "Bool", "ERRNoColor": "1", "ERRCanEdit": "1", "ERRCanFocus": "0", "ERRLeft": "5", 
      "ERRLabelRight": "Res. errors", "ERR": "0", 
      "ERROnChange": ["",
         "Grid.Cols.GANTTRES.GanttAvailability = (Row.AVAIL?\",NAME#3\":\"\") + (Row.USE?\",NAME#1\":\"\") + (Row.USE&&Row.AVAIL?\",NAME#8\":\"\") + (Row.FREE?\",NAME#5\":\"\") + (Row.ERR?\",NAME#6\":\"\");",
         "if(!Row.USE&&!Row.AVAIL&&!Row.FREE) { ",
            "var F = Grid.GetRows(Grid.Foot); Grid.StartUpdate();",
            "for(var i=0;i<F.length;i++) if(Value) Grid.ShowRow(F[i]); else Grid.HideRow(F[i]); ",
            "Grid.EndUpdate();",
            "}",
         "else Grid.RefreshGantt();",
         ""], 
      "FormulaLabel": "Total price", 
      "Formula": "Math.round((sum('PRICE')+ganttresourcesextra())*10)/10 + ' USD'"  
       }, 
}) /* End of JSONP header */ 